home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-26 | 2.1 KB | 61 lines | [TEXT/ScoM] |
- Sequencing Expressions - the fill-template Trick
-
- You won't always be creating one-piece material from
- generators. There may be occasions when you will want to
- have an instrument playing a short symbol melody but looping
- through a long series of note-lengths - and then changing to
- a new symbol melody, a new series of note lengths and a new
- tonality simultaneously. Suppose we have these expressions:
-
- ; Nigel has been using tick value 96 for 1/4 note.
- ; Because Nigel often mixes ticks and ratios, the function must take
- ; both cases into account.
-
- (defun use-nigel-ticks (l)
- (let (out)
- (dolist (x l)
- (if (is-length-symbol x)
- (push x out)
- (push (* x 5) out)))
- (nreverse out)))
-
- (setq tonal (activate-tonality (dorian c 4)
- (pentatonic b& 3)))
-
- (setq rhy1 (gen-loop '((1 4 2) (5 6 4) (1 6 3))
- (use-nigel-ticks '(24 24 24 24 48 48))))
- (setq rhy2 (gen-fibonacci 5 '(24 24 48)
- (use-nigel-ticks '(96 24 24 48))))
-
- (setq zone1 (list (apply '+ rhy1)))
- (setq zone2 (list (apply '+ rhy2)))
-
- (setq mel1 '(a b c d))
- (setq mel2 '(a d b c))
-
- We want the symbol melodies to loop for exactly the right
- number of symbols to match the note lengths we have generated.
- We don't want to have to write out all the symbols manually
- inside the melody description. And, we want to be able to
- sequence melody and rhythm like this:
-
- (setq rhys (append rhy1 rhy2 rhy1))
- (setq mels (append mel1 mel2 mel1))
- (setq zones (append zone1 zone2 zone1))
-
- The function fill-template comes to the rescue letting us
- fill templates made from rhy1 and rhy2 with our symbol
- melodies. The symbol melody definitions will be rewritten
- like this:
-
- (setq mel1 (fill-template rhy1 '(a b c d))
- (setq mel2 (fill-template rhy2 '(a d b c))
-
- The STRUCT3A-C examples show how this device can be extended
- to being melody-led i.e having a short rhythmic figure 'fill'
- a template of a long symbol pattern (from a gen-noise-white
- generator). STRUCT3 demonstrates how this technique can be
- adapted to control a whole ensemble of parts in a short
- jazz-rock sequence.
-
-